Lo primero que hace el algoritmo es ordenar los puntos por su coordenada $X$. Como el algoritmo de Sorting es un merge sort, su costo es $O(k \log(k))$, donde $k$ es el número de puntos a ordenar.

Luego se recorren la secuencia de puntos y, por cada uno de éstos, se recorren los siguientes. Esto suma un costo de $O(\dfrac{k * (k - 1)}{2})$. Además, cada vez que tomamos dos puntos tenemos que ver cuántos puntos quedaron incluídos en el cuadrado definido por éstos. El costo de esta operación es $O(k)$ ya que debemos contar, uno a uno, los puntos que están incluídos en el cuadrado. Así, la complejidad que nos queda es $O(k * log(k) + \dfrac{k * (k - 1)}{2} * k)$. Esto resulta en una complejidad final de  $O(k^3)$, donde $k$ es, como dijimos antes, la cantidad de puntos de la secuencia original.